NAS 使用 Calibre 搭建远程挂载电子书库

我一直在探索在 NAS 上搭建电子书库的最佳实践。

在《NAS 搭建 talebook 管理电子书》一文中,我探索了在 NAS 上通过 Docker 运行 talebook。talebook 内部基于 Calibre,将其封装为一个 Web 服务。使用了一段时间之后,我感觉有好处也有不足。好处是相较于 Calibre,界面更加美观,不足之处是经过封装之后,功能比 Calibre GUI 少了很多,复杂管理需求难以满足。

过去,我还探索了一种在 NAS 上使用 Calibre 的方法。即采用远程挂载方式,将 Calibre 的数据(电子书+数据库)存放在 NAS 上,然后在电脑上远程挂载该目录,通过本地的 Calibre GUI 打开。采用这种方法,不仅实现了将 Calibre 数据托管在 NAS 上,同时也享受到了完整的 Calibre 功能。综合来看,我更推荐这种方法

Calibre 官方不支持远程挂载

在 Calibre 的官网文档中,作者明确指出了:Calibre 仅适用于本地文件系统,不考虑远程挂载的情况
这表明,如果用于强制使用远程挂载,那么全靠用户自己折腾。出了问题,也与 Calibre 自身无关

不考虑并发访问场景

本文中我采用的远程挂载方案,不考虑多台设备同时访问 Calibre 的场景。我估计并发访问大概率会有问题。如果你有此需求,可以考虑 talebook。
talebook 有一种高级用法,它内部也是一个 Calibre 书库,也能使用本文中远程挂载法挂载。这样实现了 Web 服务与 Calibre 远程挂载两种方案并举,满足更复杂场合。

首先,需要在 NAS 上创建一个共享目录,用于存放书库。并且要开启相关的共享协议,如 SMB、NFS。共享目录创建好后,在电脑上挂载该目录。对于首次,需要让 Calibre 在其上创建新书库。对于非首次,用 Calibre 打开已有书库。

这一步具体操作,本文中不一一列出了。这一过程中可能会遇到一些问题,如文件权限的设置,NAS 远程访问白名单开启等等。因此需要用户具备一定的经验与能力。

对于 Windows 用户,使用 SMB 在我的电脑中挂载,一般可以直接使用。

我使用 Arch Linux,使用 SMB 挂载后,访问会有问题,Calibre 会提示说数据库损坏。其实数据库并没有损坏。在 Linux 下我改用 NFS 协议进行挂载,即可正常访问了。


Arch Linux 使用 NFS 挂载书库

首先参照 Arch Wiki:NFS - ArchWiki,看 Client 部分的文档。

安装 nfs-utils

enable 并 start Systemd 服务:nfs-client.target

使用 showmount 命令查看 NAS 的 NFS 共享目录:

showmount -e 192.168.31.48

挂载:

sudo mount -t nfs -o vers=4 192.168.31.48:/volume1/电子书库 /home/maxiee/电子书库

之后便可以在 Calibre GUI 中进行管理了。


本文作者:Maeiee

本文链接:NAS 使用 Calibre 搭建远程挂载电子书库

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!